home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / meltdown.lha / MISC.SOURCE / Wiggle.bak < prev    next >
Encoding:
Text File  |  1988-07-19  |  11.1 KB  |  386 lines

  1. *****************************************************************************
  2. *                                                                           *
  3. *                        Wiggle It Just A Little Bit                *
  4. *                                                                           *
  5. *  Start Date : 25/3/91                                                     *
  6. * Last Update : 25/3/91                                                     *
  7. *                                  Code : Melt Down *
  8. *                                                                           *
  9. *****************************************************************************
  10.  
  11. ; Include the macros
  12.  
  13.     Incdir    Df1:
  14.     Include    Source/Macro
  15.  
  16. *****************************************************************************
  17.  
  18. ; Dont forget to use chip ram
  19.  
  20.     Chip
  21.     
  22. *****************************************************************************
  23.  
  24. ; Kill the operating system for good mesure
  25.  
  26.     Kill        
  27.     
  28. *****************************************************************************
  29.  
  30. ; Load custom and set up copper list
  31.  
  32.     Lea    Custom,A5
  33.     Move.l    #Copper,Cop1lch(a5)
  34.     
  35. *****************************************************************************
  36.  
  37. ; Init Some Bitmaps
  38.  
  39.     Move.l    #Wiggle,D0
  40.     PlaneOn    D0,Bit1l+2,Bit1h+2
  41.     Add.w    #44,D0
  42.     PlaneOn    D0,Bit2l+2,Bit2h+2
  43.     Add.w    #44,D0
  44.     PlaneOn    D0,Bit3l+2,Bit3h+2
  45.  
  46. *****************************************************************************
  47.  
  48.     Bsr    CreateCopper
  49.  
  50. *****************************************************************************
  51.  
  52. ; Main routine here
  53.  
  54. Mouse
  55.     Pos
  56.     Bsr    WigCop
  57.     Bsr    SineBars
  58.     Tstmice    Mouse                ; Pressed the mouse
  59.     
  60. *****************************************************************************
  61.  
  62. ; Return operating system and go back to user
  63.  
  64.     Heal
  65.     Clr.l    D0                ; No error
  66.     Rts
  67.     
  68. *****************************************************************************
  69.  
  70. CreateCopper
  71.     Lea    DoCop,A0
  72.     Move.l    #216-1,D7            ; Number Of Bars Down
  73.     Move.l    #$2837fffe,D0            ; Wait 
  74.     Move.l    #$01020000,d1            ; Bplcon2
  75. CopperLoop
  76.     Move.l    D1,(a0)+
  77.     Move.l    D0,(a0)+
  78.     Move.l    #$01860001,(a0)+
  79.     Move.l    #$01880002,(a0)+
  80.     Move.l    #$018a0003,(a0)+
  81.     Move.l    #$018c0004,(a0)+
  82.     Move.l    #$018e0005,(a0)+
  83.     Move.l    #$01820006,(a0)+
  84.     Move.l    #$01840007,(a0)+
  85.     Move.l    #$01860008,(a0)+
  86.     Move.l    #$01880009,(a0)+
  87.     Move.l    #$018a000a,(a0)+
  88.     Move.l    #$018c000b,(a0)+
  89.     Move.l    #$018e000c,(a0)+
  90.     Move.l    #$0182000d,(a0)+
  91.     Move.l    #$0184000e,(a0)+
  92.     Move.l    #$0186000f,(a0)+
  93.     Move.l    #$0188000e,(a0)+
  94.     Move.l    #$018a000d,(a0)+
  95.     Move.l    #$018c000c,(a0)+
  96.     Move.l    #$018e000b,(a0)+
  97.     Move.l    #$0182000a,(a0)+
  98.     Move.l    #$01840009,(a0)+
  99.     Move.l    #$01860008,(a0)+
  100.     Move.l    #$01880007,(a0)+
  101.     Move.l    #$018a0006,(a0)+
  102.     Move.l    #$018c0005,(a0)+
  103.     Move.l    #$018e0004,(a0)+
  104.     Move.l    #$01820003,(a0)+
  105.     Move.l    #$01840002,(a0)+
  106.     Move.l    #$01860001,(a0)+
  107.     Move.l    #$01880000,(a0)+
  108.     Move.l    #$018a0001,(a0)+
  109.     Move.l    #$018c0002,(a0)+
  110.     Move.l    #$018e0003,(a0)+
  111.     Move.l    #$01820004,(a0)+
  112.     Move.l    #$01840005,(a0)+
  113.     Move.l    #$01860006,(a0)+
  114.     Move.l    #$01880007,(a0)+
  115.     Move.l    #$018a0008,(a0)+
  116.     Move.l    #$018c0009,(a0)+
  117.     Move.l    #$018e000a,(a0)+
  118.     Move.l    #$0182000b,(a0)+
  119.     Move.l    #$0184000c,(a0)+
  120.     Add.l    #$01000000,D0
  121.     Dbf    D7,CopperLoop
  122.     Rts
  123.  
  124. *****************************************************************************
  125.  
  126. WigCop
  127.     Add.w    #2,WigPtr
  128.     And.w    #$7e,WigPtr
  129.     Move.l    #WiggleIt,D0
  130.     Add.w    WigPtr,D0
  131.     Move.l    D0,Bltapth(a5)
  132.     Move.l    #DoCop+2,Bltdpth(a5)
  133.     Move.l    #$09f00000,Bltcon0(a5)
  134.     Move.w    #174,Bltdmod(a5)
  135.     Move.w    #000,Bltamod(a5)
  136.     Move.l    #-1,Bltafwm(a5)
  137.     Move.w    #216*64+1,Bltsize(a5)
  138.     Rts
  139.  
  140. *****************************************************************************
  141.  
  142. SineBars
  143.     Lea    ColTab,A6
  144.     Move.l    (a6)+,d0
  145.     Add.l    d0,X1pt
  146.     And.l    #$03fe03fe,X1pt
  147.     Move.l    #$09f00000,Bltcon0(a5)
  148.     Move.w    #174,Bltdmod(a5)
  149.     Move.w    #000,Bltamod(a5)
  150.     Move.l    #-1,Bltafwm(a5)
  151.     Lea    Bltapth(a5),A0
  152.     Lea    Bltdpth(a5),A1
  153.     Lea    BltSize(a5),a2
  154.     Lea    XSin,a3
  155.     Add.w    X1pt,A3
  156.     Lea    XSin,A4
  157.     Add.w    X2pt,A4
  158.     Move.l    #DoCop+10,d0
  159.     Move.l    #216*64+1,D1
  160.     Moveq    #0,D2
  161.     Moveq    #0,D3
  162.     Move.w    (a6)+,D4
  163.     Move.w    (a6)+,D5
  164.     Move.l    #42-1,d7
  165. BarLoop
  166.     Move.l    (a6)+,d6
  167.     Add.w    (a3,d2),d6
  168.     Add.w    (a4,d3),d6
  169.     Move.l    d6,(a0)
  170.     Move.l    d0,(a1)
  171.     Move.w    D1,(a2)
  172.     Addq    #4,D0
  173.     Add.w    D4,D2
  174.     Add.w    D5,D3
  175.     Dbf    D7,BarLoop
  176.     Rts
  177.  
  178. *****************************************************************************
  179.  
  180. ; All copper list after here
  181.  
  182. Copper
  183.  
  184.     Spr_Off                    ; Switch sprites off
  185.     Cmove    $2881,Diwstrt
  186.     Cmove    $2cc1,Diwstop
  187.     Cmove    $0028,Ddfstrt
  188.     Cmove    $00d0,Ddfstop
  189.     Cmove    -0044,Bpl1mod            
  190.     Cmove    -0044,Bpl2mod
  191.     Cmove    $3200,Bplcon0
  192.     Cmove    $0000,Color00
  193. Bit1l    Cmove    $0000,Bpl1ptl
  194. Bit1h    Cmove    $0000,Bpl1pth
  195. Bit2l    Cmove    $0000,Bpl2ptl
  196. Bit2h    Cmove    $0000,Bpl2pth
  197. Bit3l    Cmove    $0000,Bpl3ptl
  198. Bit3h    Cmove    $0000,Bpl3pth
  199. DoCop
  200.     Dcb.b    176*216
  201.     Cmove    $0200,Bplcon0
  202.     Endcop
  203.  
  204. *****************************************************************************
  205.  
  206. WigPtr
  207.     Dc.w    0
  208. WiggleIt
  209.     Rept    5
  210.     dc.w    15*17,15*17,15*17,15*17,14*17,14*17,14*17,13*17
  211.     dc.w    13*17,12*17,12*17,11*17,10*17,10*17,9*17,8*17
  212.     dc.w    7*17,7*17,6*17,5*17,5*17,4*17,3*17,3*17
  213.     dc.w    2*17,2*17,1*17,1*17,1*17,0*17,0*17,0*17
  214.     dc.w    0*17,0*17,0*17,0*17,1*17,1*17,1*17,2*17
  215.     dc.w    2*17,3*17,3*17,4*17,5*17,5*17,6*17,7*17
  216.     dc.w    7*17,8*17,9*17,10*17,10*17,11*17,12*17,12*17
  217.     dc.w    13*17,13*17,14*17,14*17,14*17,15*17,15*17,15*17
  218.     Endr
  219.     
  220. *****************************************************************************
  221.  
  222. X1pt
  223.     Dc.w    0
  224. X2pt
  225.     Dc.w    0
  226. XSin
  227.     Rept    3
  228.     dc.w    105*2,105*2,105*2,105*2,105*2,105*2,105*2,105*2
  229.     dc.w    105*2,105*2,105*2,105*2,104*2,104*2,104*2,104*2
  230.     dc.w    104*2,104*2,104*2,104*2,103*2,103*2,103*2,103*2
  231.     dc.w    103*2,103*2,102*2,102*2,102*2,102*2,101*2,101*2
  232.     dc.w    101*2,101*2,100*2,100*2,100*2,100*2,99*2,99*2
  233.     dc.w    99*2,98*2,98*2,98*2,98*2,97*2,97*2,97*2
  234.     dc.w    96*2,96*2,95*2,95*2,95*2,94*2,94*2,93*2
  235.     dc.w    93*2,93*2,92*2,92*2,91*2,91*2,91*2,90*2
  236.     dc.w    90*2,89*2,89*2,88*2,88*2,87*2,87*2,86*2
  237.     dc.w    86*2,85*2,85*2,84*2,84*2,83*2,83*2,82*2
  238.     dc.w    82*2,81*2,81*2,80*2,79*2,79*2,78*2,78*2
  239.     dc.w    77*2,77*2,76*2,76*2,75*2,74*2,74*2,73*2
  240.     dc.w    73*2,72*2,71*2,71*2,70*2,70*2,69*2,68*2
  241.     dc.w    68*2,67*2,67*2,66*2,65*2,65*2,64*2,63*2
  242.     dc.w    63*2,62*2,61*2,61*2,60*2,60*2,59*2,58*2
  243.     dc.w    58*2,57*2,56*2,56*2,55*2,54*2,54*2,53*2
  244.     dc.w    52*2,52*2,51*2,51*2,50*2,49*2,49*2,48*2
  245.     dc.w    47*2,47*2,46*2,45*2,45*2,44*2,44*2,43*2
  246.     dc.w    42*2,42*2,41*2,40*2,40*2,39*2,38*2,38*2
  247.     dc.w    37*2,37*2,36*2,35*2,35*2,34*2,34*2,33*2
  248.     dc.w    32*2,32*2,31*2,31*2,30*2,29*2,29*2,28*2
  249.     dc.w    28*2,27*2,27*2,26*2,26*2,25*2,24*2,24*2
  250.     dc.w    23*2,23*2,22*2,22*2,21*2,21*2,20*2,20*2
  251.     dc.w    19*2,19*2,18*2,18*2,17*2,17*2,16*2,16*2
  252.     dc.w    15*2,15*2,14*2,14*2,14*2,13*2,13*2,12*2
  253.     dc.w    12*2,12*2,11*2,11*2,10*2,10*2,10*2,9*2
  254.     dc.w    9*2,8*2,8*2,8*2,7*2,7*2,7*2,7*2
  255.     dc.w    6*2,6*2,6*2,5*2,5*2,5*2,5*2,4*2
  256.     dc.w    4*2,4*2,4*2,3*2,3*2,3*2,3*2,2*2
  257.     dc.w    2*2,2*2,2*2,2*2,2*2,1*2,1*2,1*2
  258.     dc.w    1*2,1*2,1*2,1*2,1*2,0*2,0*2,0*2
  259.     dc.w    0*2,0*2,0*2,0*2,0*2,0*2,0*2,0*2
  260.     dc.w    0*2,0*2,0*2,0*2,0*2,0*2,0*2,0*2
  261.     dc.w    0*2,0*2,0*2,0*2,1*2,1*2,1*2,1*2
  262.     dc.w    1*2,1*2,1*2,1*2,2*2,2*2,2*2,2*2
  263.     dc.w    2*2,2*2,3*2,3*2,3*2,3*2,4*2,4*2
  264.     dc.w    4*2,4*2,5*2,5*2,5*2,5*2,6*2,6*2
  265.     dc.w    6*2,7*2,7*2,7*2,7*2,8*2,8*2,8*2
  266.     dc.w    9*2,9*2,10*2,10*2,10*2,11*2,11*2,12*2
  267.     dc.w    12*2,12*2,13*2,13*2,14*2,14*2,14*2,15*2
  268.     dc.w    15*2,16*2,16*2,17*2,17*2,18*2,18*2,19*2
  269.     dc.w    19*2,20*2,20*2,21*2,21*2,22*2,22*2,23*2
  270.     dc.w    23*2,24*2,24*2,25*2,26*2,26*2,27*2,27*2
  271.     dc.w    28*2,28*2,29*2,29*2,30*2,31*2,31*2,32*2
  272.     dc.w    32*2,33*2,34*2,34*2,35*2,35*2,36*2,37*2
  273.     dc.w    37*2,38*2,38*2,39*2,40*2,40*2,41*2,42*2
  274.     dc.w    42*2,43*2,44*2,44*2,45*2,45*2,46*2,47*2
  275.     dc.w    47*2,48*2,49*2,49*2,50*2,51*2,51*2,52*2
  276.     dc.w    53*2,53*2,54*2,54*2,55*2,56*2,56*2,57*2
  277.     dc.w    58*2,58*2,59*2,60*2,60*2,61*2,61*2,62*2
  278.     dc.w    63*2,63*2,64*2,65*2,65*2,66*2,67*2,67*2
  279.     dc.w    68*2,68*2,69*2,70*2,70*2,71*2,71*2,72*2
  280.     dc.w    73*2,73*2,74*2,74*2,75*2,76*2,76*2,77*2
  281.     dc.w    77*2,78*2,78*2,79*2,79*2,80*2,81*2,81*2
  282.     dc.w    82*2,82*2,83*2,83*2,84*2,84*2,85*2,85*2
  283.     dc.w    86*2,86*2,87*2,87*2,88*2,88*2,89*2,89*2
  284.     dc.w    90*2,90*2,91*2,91*2,91*2,92*2,92*2,93*2
  285.     dc.w    93*2,93*2,94*2,94*2,95*2,95*2,95*2,96*2
  286.     dc.w    96*2,97*2,97*2,97*2,98*2,98*2,98*2,98*2
  287.     dc.w    99*2,99*2,99*2,100*2,100*2,100*2,100*2,101*2
  288.     dc.w    101*2,101*2,101*2,102*2,102*2,102*2,102*2,103*2
  289.     dc.w    103*2,103*2,103*2,103*2,103*2,104*2,104*2,104*2
  290.     dc.w    104*2,104*2,104*2,104*2,104*2,105*2,105*2,105*2
  291.     dc.w    105*2,105*2,105*2,105*2,105*2,105*2,105*2,105*2
  292.     Endr
  293.     
  294. *****************************************************************************
  295.  
  296. LoadsaBlue
  297.     Rept    14
  298.     Dc.w    0,1,2,3,4,5,6,7,8
  299.     Dc.w    9,10,11,12,13,14,15
  300.     Dc.w    15,14,13,12,11,10,9
  301.     Dc.w    8,7,6,5,4,3,2,1,0
  302.     Endr
  303. LoadsaGreen
  304.     Rept    14
  305.     Dc.w    0*$10,1*$10,2*$10,3*$10,4*$10,5*$10,6*$10,7*$10,8*$10
  306.     Dc.w    9*$10,10*$10,11*$10,12*$10,13*$10,14*$10,15*$10
  307.     Dc.w    15*$10,14*$10,13*$10,12*$10,11*$10,10*$10,9*$10
  308.     Dc.w    8*$10,7*$10,6*$10,5*$10,4*$10,3*$10,2*$10,1*$10,0*$10
  309.     Endr
  310. LoadsaRed
  311.     Rept    14
  312.     Dc.w    0*$100,1*$100,2*$100,3*$100,4*$100,5*$100,6*$100,7*$100,8*$100
  313.     Dc.w    9*$100,10*$100,11*$100,12*$100,13*$100,14*$100,15*$100
  314.     Dc.w    15*$100,14*$100,13*$100,12*$100,11*$100,10*$100,9*$100
  315.     Dc.w    8*$100,7*$100,6*$100,5*$100,4*$100,3*$100,2*$100,1*$100,0*$100
  316.     Endr
  317. LoadsaYellow
  318.     Rept    14
  319.     Dc.w    0*$110,1*$110,2*$110,3*$110,4*$110,5*$110,6*$110,7*$110,8*$110
  320.     Dc.w    9*$110,10*$110,11*$110,12*$110,13*$110,14*$110,15*$110
  321.     Dc.w    15*$110,14*$110,13*$110,12*$110,11*$110,10*$110,9*$110
  322.     Dc.w    8*$110,7*$110,6*$110,5*$110,4*$110,3*$110,2*$110,1*$110,0*$110
  323.     Endr
  324. LoadsaCyan
  325.     Rept    14
  326.     Dc.w    0*$011,1*$011,2*$011,3*$011,4*$011,5*$011,6*$011,7*$011,8*$011
  327.     Dc.w    9*$011,10*$011,11*$011,12*$011,13*$011,14*$011,15*$011
  328.     Dc.w    15*$011,14*$011,13*$011,12*$011,11*$011,10*$011,9*$011
  329.     Dc.w    8*$011,7*$011,6*$011,5*$011,4*$011,3*$011,2*$011,1*$011,0*$011
  330.     Endr
  331. LoadsaMagenta
  332.     Rept    14
  333.     Dc.w    0*$101,1*$101,2*$101,3*$101,4*$101,5*$101,6*$101,7*$101,8*$101
  334.     Dc.w    9*$101,10*$101,11*$101,12*$101,13*$101,14*$101,15*$101
  335.     Dc.w    15*$101,14*$101,13*$101,12*$101,11*$101,10*$101,9*$101
  336.     Dc.w    8*$101,7*$101,6*$101,5*$101,4*$101,3*$101,2*$101,1*$101,0*$101
  337.     Endr
  338. RedBlue
  339.     Rept    4
  340.     Dc.w    0,0,0,0,0
  341.     dc.w    1,1,1,1,1,2,2,2
  342.     dc.w    3,3,3,4,4,5,5,6
  343.     dc.w    6,7,7,8,8,8,9,9
  344.     dc.w    10,10,11,11,12,12,12,13
  345.     dc.w    13,13,14,14,14,14,14,15
  346.     dc.w    15,15,15,15
  347.     dc.w    15,15,15,15,15,15,14,14
  348.     dc.w    14,14,14,13,13,13,12,12
  349.     dc.w    12,11,11,10,10,9,9,8
  350.     dc.w    8,7,7,7,6,6,5,5
  351.     dc.w    4,4,3,3,3,2,2,2
  352.     dc.w    1,1,1,1,1,0,0,0
  353.     dc.w    0,0,0
  354.     dc.w    0*$100,0*$100,0*$100,0*$100
  355.     dc.w    1*$100,1*$100,1*$100,1*$100,1*$100,2*$100,2*$100,2*$100
  356.     dc.w    3*$100,3*$100,3*$100,4*$100,4*$100,5*$100,5*$100,6*$100
  357.     dc.w    6*$100,7*$100,7*$100,8*$100,8*$100,8*$100,9*$100,9*$100
  358.     dc.w    10*$100,10*$100,11*$100,11*$100,12*$100,12*$100,12*$100,13*$100
  359.     dc.w    13*$100,13*$100,14*$100,14*$100,14*$100,14*$100,14*$100,15*$100
  360.     dc.w    15*$100,15*$100,15*$100,15*$100
  361.     dc.w    15*$100,15*$100,15*$100,15*$100,15*$100,15*$100,14*$100,14*$100
  362.     dc.w    14*$100,14*$100,14*$100,13*$100,13*$100,13*$100,12*$100,12*$100
  363.     dc.w    12*$100,11*$100,11*$100,10*$100,10*$100,9*$100,9*$100,8*$100
  364.     dc.w    8*$100,7*$100,7*$100,7*$100,6*$100,6*$100,5*$100,5*$100
  365.     dc.w    4*$100,4*$100,3*$100,3*$100,3*$100,2*$100,2*$100,2*$100
  366.     dc.w    1*$100,1*$100,1*$100,1*$100,1*$100,0*$100,0*$100,0*$100
  367.     dc.w    0*$100,0*$100,0*$100,0*$100
  368.     Endr
  369.     
  370. *****************************************************************************
  371.  
  372. ColTab
  373.     Dc.w    10,4,10,8
  374.     Rept    14
  375.     Dc.l    RedBlue,RedBlue,RedBlue
  376.     Endr
  377.     
  378. *****************************************************************************
  379.  
  380. Wiggle
  381.     Incbin    Gfx/Wig.Bm
  382.     
  383. *****************************************************************************
  384.  
  385.  
  386.